1. Field of the Invention
The present invention relates to a print system and a host device for the print system.
The present application is based on Japanese Patent Application No. Hei. 10-351085, which is incorporated herein by reference.
2. Description of the Related Art
There has already been known a print system comprising a host device, such as a personal computer, and a printer which performs printing operation upon receipt of print data from the host device. Functions and performance required of the print system are growing increasingly sophisticated. In some cases, a printer is equipped with a high-performance CPU, large-capacity memory, and a high-speed/high-performance engine, thus tending to become increasingly large. In other cases, a printer has only the minimum required functions; for example, typically a printer is equipped with only the basic function of performing only printing operation upon receipt of bitmapped image data. There exists a reasonable level of demand for this type of printer (called a dumb printer or host-based printer), because of its low price.
One of the major factors which make the dumb printer attractive to users resides in low price, and another major factor resides in negating the need for laborious operation of a control panel. In contrast, the major drawback of the dumb printer resides in low-grade functionality. In designing a dumb printer, in order to minimize price the manufacturer must inevitably make efforts to use low-level components, completely eliminate a control panel, and embody the greatest-possible print performance and functions.
An object of the present invention is to provide a high-performance print system employing a dumb printer.
Accordingly, the present invention provides a print system including a printer and a host device which is connected to the printer in a communicable manner and controls the printer. The printer comprises memory used as a receiving buffer; receiving means which receives print data transmitted from the host device and stores the thus-received print data into the receiving buffer; print means which performs print operation on the basis of the print data stored in the receiving buffer; status data means which determines the current status of or an error in the printer, prepares status data representing the thus-determined status or error, and retains the thus-prepared status data; and response means which, in response to an individual command sent from the host device, prepares a reply including the currently-retained status data and sends the reply back to the host device. Further, the host device comprises print data preparation means for preparing the print data; data transmission means which divide the thus-prepared print data pertaining to a single job into a plurality of fractional data sets, prepares a plurality of data transmission commands, each of which includes a corresponding one of the fractional data sets, and sequentially transmits the data transmission command to the printer; status acquisition means which receives a reply transmitted from the printer in response to each of the data transmission commands and acquires the status data included in the thus-received reply; and user interface means which informs the user of the status of or error in the printer, on the basis of the thus-acquired status data.
In the print system, the host device divides print data into a plurality of fractional data sets (for example, band data divided on a per-page basis or a per-band basis). The fractional data sets are transmitted to the printer in the form of data transmission commands. Every time the host device transmits a data transmission command, the host device receives a reply from the printer, thus determining the current status of or an error in the printer. The thus-determined status or error is reported to the user. Hence, the user can ascertain the current status of the printer on a user interface screen of the host device. Further, the host device utilizes the thus-determined status or error in determining whether to continue, suspend, or resume transmission of subsequent data, or in determining whether to delete subsequent data. Accordingly, although the printer per se is inexpensive and has a simple structure, the host device can effect considerably-sophisticated print control.
Preferably, the host device further comprises status request means which sends, to a printer, a status request command for requesting status data when the host device fails to send any data transmission command. By virtue of this status request means, even before transmission of print data or when transmission of print data is suspended for reasons of occurrence of an error, the host device can keep track of the status of the printer, whenever necessary, and determine the next appropriate operation.
Preferably, the printer further comprises means for notifying the host device of the capacity of the memory in response to an inquiry about memory capacity transmitted from the host device. The host device further comprises means which transmits the inquiry about memory capacity to the printer before preparation of the print data pertaining to a single print job and which receives the memory capacity from the printer. The print data preparation means of the host device prepares print data by expanding all the image data into a bit image. At this time, a plurality of transmission modes having different resolutions or levels of halftone are prepared with regard to the bit image. An appropriate transmission mode is selected from the plurality of transmission modes in accordance with the memory capacity reported by the printer. As a result, for example, in a case where the memory is of small capacity, there is prepared a bit image having lower resolution and a lower level of halftone. Thus, there can be prepared print data which can be processed by the printer; i.e., which can be processed within the range of capacity of the memory of the printer. Therefore, even when the capacity of the memory of the printer is small, normal printing can be effected.
Preferably, the fractional data sets correspond to band data into which each page is divided on a per-band basis. The print means of the printer initiates printing operation when the printer has received band data pertaining to a predetermined number of bands smaller than the number of bands corresponding to a single page of the beginning of print data pertaining to a single print job. The print means of the printer initiates printing operation when the receiving buffer becomes full before receipt of the band data pertaining to the predetermined number of bands. Accordingly, the printer can perform normal printing even when the memory of the printer is of small capacity.
Preferably, buffer-full data representing whether or not the receiving buffer is full are included in a reply returned from the printer. When the buffer-full data included in the reply returned from the printer represents that the receiving buffer is full, the data transmission means temporarily suspends transmission of a subsequent data transmission command, the status request means repeatedly sends to the printer the status request command, and, on the basis of a replay returned from the status request command, the host device determines whether or not the receiving buffer has been released from a full state. When the receiving buffer has been released from a full state, the data transmission means resumes transmission of the subsequence data transmission command.
The print data are divided into a single or a plurality of fractional data sets on a per-page basis. Before transmission of the data transmission command pertaining to a certain page, the host device transmits a page start declaration command including designation of the number of copies to be printed. Further, the host device determines whether or not all the data transmission commands pertaining to the page can be stored in the receiving buffer of the printer (that is, whether conventional multi-copy printing of the page would be successful or unsuccessful). The entirety of the data transmission commands pertaining to a page for which the successful/unsuccessful multi-copy printing determination means has determined that multi-copy would be unsuccessful is repeatedly transmitted to the printer, in the number of times corresponding to the number of copies to be printed. With regard to a certain page which the page start declaration has designated to be printed in a plurality of copies, when the entirety of the data transmission commands corresponding to the page can be stored in the receiving buffer, the printer prints the page in the number of copies to be printed, on the basis of the data transmission commands that correspond to the page and are stored in the receiving buffer. As a result, multi-copy printing(i.e., printing of a certain page in a plurality of copies) is enabled even when memory of the printer is of small capacity.
Preferably, when printing of a page has finished, the printer sends a page print completion report to the host device. The host device manages the print data on a per-page basis, and retains the print data pertaining to a page that has already been transmitted to the printer, until a print completion report about the page is received. As a result, in a case where there arises a necessity for re-printing a page from the beginning, even if the memory of the printer is of small capacity and does not retain all the data pertaining to the page, printing of a certain page can be resumed by way of re-transmission of the print data from the host device.
Preferably, the host device has a queue representing the sequence of the pages which have been transmitted to the printer and discards print data pertaining to the head of the queue every time the management means receives the page print completion report. As a result, through use of a simple configuration, the data pertaining to a page which does not need to be retained after printing can be discarded without fail.
Preferably, when the status data included in the reply represent the occurrence of an error, the host device determines the type of error and executes an error processing routine corresponding to the thus-determined type of error.
Preferably, the host device sends the status request to the printer not only during a printing operation but also while in an idle state, whenever necessary, so as to check, by reference to the status data reported by the printer in response to the status request, whether a problem has arisen in the printer. If a problem has arisen, the host device suspends or aborts transmission of the print data.
The host device of the present invention is typically embodied by a computer. A program for use in activating the computer can be installed or loaded on the computer by means of a medium of any of various forms, such as a recording disk, semiconductor memory, or a communication signal.
Features and advantages of the invention will be evident from the following detailed description of the preferred embodiments described in conjunction with the attached drawings.